$(function() {
	reloadTree('1');
	$("body").bind("mousedown", function(event){
		if (!(event.target.id == "menuBtn" || event.target.id == "DropdownMenuBackground" || $(event.target).parents("#DropdownMenuBackground").length>0)) {
			hideMenu();
		}
	});
	
	//jQuery 表单验证
	$('#departmentForm').validate();

	var edit_flag=$("#edit_flag").val();
	if(edit_flag!='true') {
		//部门编码输入框失去焦点时调用
		$('#department_code').blur(function(){
			if(validateForm('department_code')) {
				var department_code=$("#department_code").val();
				checkDepartmentCode(department_code, edit_flag);
			}
		});
	}
	
	$('#department_name').blur(function() {
		validateForm('department_name');
	});
	
	$('#parent_name').blur(function() {
		validateForm('parent_code');
	});
	
	$('#contact_user').blur(function() {
		validateForm('contact_user');
	});

	$('#contact_phone').blur(function() {
		validateForm('contact_phone');
	});
	
	//提交表单
	$('#saveDepartmentButt').click(function() {
		if(validateForm()) {
			$('#departmentForm').submit();
		}
	});
});

//校验用户名
function checkDepartmentCode(department_code, edit_flag) {
	$.ajax({   
		url: 'checkDepartment.action',   
		type:'POST',   
		dataType: 'json',
		data:"department.department_code="+department_code+"&edit="+edit_flag,   
		beforeSend:function(xmlhttprequest){
		},
		success:function(data){
			var isExists = data.isExists;
			if(isExists == true || isExists=='true') {
				$('#department_code_msg').html("部门编码已存在，请重新输入");
				$('#department_code').focus();
			}
			else {
				$('#department_code_msg').html("");
			}
		},
		error:function(){
			
		}
	});
}

function validateForm(id) {
	var result = true;
	
	// 验证部门编码
	if(!id || id=='department_code') {
		var value=$('#department_code').val();
		if(!value) {
			$('#department_code_msg').html('部门编码不允许为空');
			result = false;
		}else if(value.maxLength(32)) {
			$('#department_code_msg').html('部门编码长度不允许超过32个字符（一个汉字3个字符）');
			result = false;
		}else if(!regex_code_char.test(value)) {
			$('#department_code_msg').html('部门编码由数字、下划线以及英文字母组成');
			result = false;
		}else{
			$('#department_code_msg').html('');
		}
	}
	
	// 验证部门名称
	if(!id || id=='department_name') {
		var value=$('#department_name').val();
		if(!value) {
			$('#department_name_msg').html('部门名称不允许为空');
			result = false;
		}else if(value.maxLength(32)) {
			$('#department_name_msg').html('部门名称长度不允许超过32个字符（一个汉字3个字符）');
			result = false;
		}else if(!regex_special_char.test(value)) {
			$('#department_name_msg').html('部门名称不允许包含特殊字符：*.&/\\\'\"|,<>');
			result = false;
		}else{
			$('#department_name_msg').html('');
		}
	}
	
	// 验证上级部门
	if(!id || id=='parent_code') {
		var value=$('#parent_code').val();
		if(!value) {
			$('#parent_code_msg').html('上级部门不允许为空');
			result = false;
		}else{
			$('#parent_code_msg').html('');
		}
	}
	
	// 验证部门联系人
	if(!id || id=='contact_user') {
		var value=$('#contact_user').val();
		if(value&&!regex_special_char.test(value)) {
			$('#contact_user_msg').html('部门联系人不允许包含特殊字符：*.&/\\\'\"|,<>');
			result = false;
		}else if(value.maxLength(32)) {
			$('#contact_user_msg').html('部门联系人长度不允许超过32个字符（一个汉字3个字符）');
			result = false;
		}else{
			$('#contact_user_msg').html('');
		}
	}
	
	// 验证部门联系电
	if(!id || id=='contact_phone') {
		var value=$('#contact_phone').val();
		if(value&&!regex_special_char.test(value)) {
			$('#contact_phone_msg').html('部门联系电不允许包含特殊字符：*.&/\\\'\"|,<>');
			result = false;
		}else if(value.maxLength(32)) {
			$('#contact_phone_msg').html('部门联系电长度不允许超过32个字符（一个汉字3个字符）');
			result = false;
		}else{
			$('#contact_phone_msg').html('');
		}
	}
	
	return result;
}

/**
 * 加载部门列表树时所必须使用的方法
 * @param event
 * @param treeId
 * @param treeNode
 */
function zTreeOnClick(event, treeId, treeNode) {
	if (treeNode) {
		$("#parent_code").attr("value", treeNode.department_code);
		$("#parent_name").attr("value", treeNode.department_name);
		hideMenu();
	}
}
